package it.traveldream.entities;

import it.traveldreamClient.beans.dto.ComponenteNuovoTipoTrasportoDTO;
import it.traveldreamClient.beans.dto.NuovoTipoTrasportoDTO;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;

@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
public class ComponenteNuovoTipoTrasporto extends Trasporto {
	
	private static final long serialVersionUID = 1L;
	private List<String> opzioniDaCheckBoxes;
	private String opzioneDaRadioButton;
	private List<String> valoriDaTextAreas;
	private String tipo;
	
	
	public ComponenteNuovoTipoTrasporto(ComponenteNuovoTipoTrasporto tnt) {
		this.opzioniDaCheckBoxes=tnt.getOpzioniDaCheckBoxes();
		this.opzioneDaRadioButton=tnt.getOpzioneDaRadioButton();
		this.valoriDaTextAreas=tnt.getValoriDaTextAreas();
		this.tipo=tnt.getTipo();
		setDataArrivo(tnt.getDataArrivo());
    	setDataPartenza(tnt.getDataPartenza());
    	setLuogoPartenza(tnt.getLuogoPartenza());
    	setLuogoDestinazione(tnt.getLuogoDestinazione());
    	setDisponibilita(true);
    	setNome(tnt.getNome());
    	setPrezzo(tnt.getPrezzo());
	}
	
	public ComponenteNuovoTipoTrasporto(ComponenteNuovoTipoTrasportoDTO tntDTO) {
		this.opzioniDaCheckBoxes=tntDTO.getOpzioniDaCheckBoxes();
		this.opzioneDaRadioButton=tntDTO.getOpzioneDaRadioButton();
		this.valoriDaTextAreas=tntDTO.getValoriDaTextAreas();
		this.tipo=tntDTO.getTipoDTO().getNome();
		setDataArrivo(tntDTO.getDataArrivo());
    	setDataPartenza(tntDTO.getDataPartenza());
    	setLuogoPartenza(tntDTO.getLuogoPartenza());
    	setLuogoDestinazione(tntDTO.getLuogoDestinazione());
    	setDisponibilita(true);
    	setNome(tntDTO.getNome());
    	setPrezzo(Integer.parseInt(tntDTO.getPrezzo()));
	}

	
	public ComponenteNuovoTipoTrasporto(){
		
	}
	
	
	public String getTipo() {
		return tipo;
	}


	public void setTipo(String tipo) {
		this.tipo = tipo;
	}


	public List<String> getOpzioniDaCheckBoxes() {
		return opzioniDaCheckBoxes;
	}

	public void setOpzioniDaCheckBoxes(List<String> opzioniDaCheckBoxes) {
		this.opzioniDaCheckBoxes = opzioniDaCheckBoxes;
	}

	public String getOpzioneDaRadioButton() {
		return opzioneDaRadioButton;
	}

	public void setOpzioneDaRadioButton(String opzioneDaRadioButton) {
		this.opzioneDaRadioButton = opzioneDaRadioButton;
	}

	public List<String> getValoriDaTextAreas() {
		return valoriDaTextAreas;
	}

	public void setValoriDaTextAreas(List<String> valoriDaTextAreas) {
		this.valoriDaTextAreas = valoriDaTextAreas;
	}

	public ComponenteNuovoTipoTrasportoDTO getDTO () {
		
		ComponenteNuovoTipoTrasportoDTO dto=new ComponenteNuovoTipoTrasportoDTO();
		dto.setDataArrivo(dataArrivo);
		dto.setDataPartenza(dataPartenza);
		dto.setLuogoDestinazione(luogoDestinazione);
		dto.setLuogoPartenza(luogoPartenza);
		dto.setRegalo(isRegalo());
		dto.setOpzioniDaCheckBoxes(opzioniDaCheckBoxes);
		dto.setNome(getNome());
		dto.setPrezzo(Prezzo.toString());
		dto.setOpzioneDaRadioButton(opzioneDaRadioButton);
		dto.setIdProdotto(getIdProdotto());
		dto.setValoriDaTextAreas(valoriDaTextAreas);
		dto.setDisponibilita(getDisponibilita());
		return dto;
	}
	
	public ComponenteNuovoTipoTrasportoDTO getDTO(NuovoTipoTrasportoDTO tipo){
		ComponenteNuovoTipoTrasportoDTO dto=getDTO();
		dto.setTipoDTO(tipo);
		return dto;
	}
	
	

}
